package com.locus.locus.client;

import java.io.IOException;
import java.util.List;

import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
import com.locus.locus.client.dados.ConfiguracaoBoxWrapper;
import com.locus.locus.client.dados.ConfiguracaoConjuntoBoxesWrapper;
import com.locus.locus.client.dados.ConjuntoBoxesWrapper;
import com.locus.locus.client.dados.EstabelecimentoWrapper;
import com.locus.locus.client.dados.SiteWrapper;
import com.locus.locus.client.dados.UsuarioLocusWrapper;

@RemoteServiceRelativePath("servidor")
public interface Servidor extends RemoteService {
	
	public UsuarioLocusWrapper buscarUsuario(String urlDestino);
	
	public List<UsuarioLocusWrapper> buscarUsusarios() throws IOException;
	public List<UsuarioLocusWrapper> buscarUsusarios(String where) throws IOException;
	public void inserirUsuario(UsuarioLocusWrapper usuario) throws IOException;
	public void excluirUsuario(UsuarioLocusWrapper usuario) throws IOException;
	
	public List<EstabelecimentoWrapper> buscarEstabelecimentos() throws IOException;
	public void inserirExtabelecimento(EstabelecimentoWrapper estabelecimento) throws IOException;
	public void excluirExtabelecimento(EstabelecimentoWrapper estabelecimento) throws IOException;
	
	public ConfiguracaoConjuntoBoxesWrapper buscarConfiguracaoConjuntoBoxes() throws IOException;	
	public void inserirBoxConjuntoConfiguracao(ConfiguracaoBoxWrapper box) throws IOException;
	public void excluirBoxConjuntoConfiguracao(ConfiguracaoBoxWrapper box) throws IOException;

	public List<ConfiguracaoBoxWrapper> buscarConfiguracoesBoxes() throws IOException;
	public void inserirConfiguracoesBox(ConfiguracaoBoxWrapper box) throws IOException;
	public void excluirConfiguracoesBox(ConfiguracaoBoxWrapper box) throws IOException;
	
	public ConjuntoBoxesWrapper buscarConjuntoBoxes() throws IOException;
	
	public SiteWrapper buscarSite(String site);
	
	public void wipeData() throws IOException;
}
